package com.gitee.wsl.collections.map

//typealias IntKeyMap<V> = Map<Int,V>
//
//class IntObjectEntry<T>(override val key: Int,
//                        override val value: T
//) : Map.Entry<Int, T> {
//    /**
//     * Because IntObjectEntry has no reference to original map node, is not
//     * possible to modify its value.
//     *
//     * @param value
//     * new value to be stored in this entry
//     * @return old value corresponding to the entry
//     * @throws UnsupportedOperationException
//     * because it has no reference to original map
//     */
//    fun setValue(value: T): T {
//        throw UnsupportedOperationException()
//    }
//
//    override fun hashCode(): Int {
//        return 31 * this.key + (if (value == null) 0 else value.hashCode())
//    }
//
//    override fun equals(obj: Any?): Boolean {
//        if (this === obj) {
//            return true
//        }
//        if (obj == null) {
//            return false
//        }
//        if (this::class != obj::class) {
//            return false
//        }
//        val other = obj as IntObjectEntry<*>
//        if (this.key != other.key) {
//            return false
//        }
//        if (value == null) {
//            if (other.value != null) {
//                return false
//            }
//        } else if (value != other.value) {
//            return false
//        }
//        return true
//    }
//
//    override fun toString(): String {
//        return "$key=$value"
//    }
//}


